Micron Document
🎖️GitЯра🎖️

Node / meshcore / MeshCore / files / build_as_lib.py

Displaying Raw • Download

build_as_lib.py HEAD (0679dbef) Text, 2.29 KB

Tff7b72from T7ee787osT7ee787.T7ee787path Tff7b72import Te6edf3realpath

Te6edf3ImportTb4b4b4(Ta5d6ff"Ta5d6ffenvTa5d6ff"Tb4b4b4) T8b949e# type: ignore
Te6edf3menvTff7b72=Te6edf3env T8b949e# type: ignore

Te6edf3src_filter Tff7b72= Tb4b4b4[
Ta5d6ff'Ta5d6ff+<*.cpp>Ta5d6ff'Tb4b4b4,
Ta5d6ff'Ta5d6ff+<helpers/*.cpp>Ta5d6ff'Tb4b4b4,
Ta5d6ff'Ta5d6ff+<helpers/sensors>Ta5d6ff'Tb4b4b4,
Ta5d6ff'Ta5d6ff+<helpers/radiolib/*.cpp>Ta5d6ff'Tb4b4b4,
Ta5d6ff'Ta5d6ff+<helpers/ui/MomentaryButton.cpp>Ta5d6ff'Tb4b4b4,
Ta5d6ff'Ta5d6ff+<helpers/ui/buzzer.cpp>Ta5d6ff'Tb4b4b4,
Tb4b4b4]

T8b949e# add build and include dirs according to CPPDEFINES
Tff7b72for Te6edf3item Tff7b72in Te6edf3menvTff7b72.Td2a8ffgetTb4b4b4(Ta5d6ff"Ta5d6ffCPPDEFINESTa5d6ff"Tb4b4b4, Tb4b4b4[Tb4b4b4]Tb4b4b4)Tb4b4b4:
T8b949e# PLATFORM HANDLING
Tff7b72if Te6edf3item Tff7b72== Ta5d6ff"Ta5d6ffSTM32_PLATFORMTa5d6ff"Tb4b4b4:
Te6edf3src_filterTff7b72.Td2a8ffappendTb4b4b4(Ta5d6ff"Ta5d6ff+<helpers/stm32/*>Ta5d6ff"Tb4b4b4)
Tff7b72elif Te6edf3item Tff7b72== Ta5d6ff"Ta5d6ffESP32Ta5d6ff"Tb4b4b4:
Te6edf3src_filterTff7b72.Td2a8ffappendTb4b4b4(Ta5d6ff"Ta5d6ff+<helpers/esp32/*>Ta5d6ff"Tb4b4b4)
Tff7b72elif Te6edf3item Tff7b72== Ta5d6ff"Ta5d6ffNRF52_PLATFORMTa5d6ff"Tb4b4b4:
Te6edf3src_filterTff7b72.Td2a8ffappendTb4b4b4(Ta5d6ff"Ta5d6ff+<helpers/nrf52/*>Ta5d6ff"Tb4b4b4)
Tff7b72elif Te6edf3item Tff7b72== Ta5d6ff"Ta5d6ffRP2040_PLATFORMTa5d6ff"Tb4b4b4:
Te6edf3src_filterTff7b72.Td2a8ffappendTb4b4b4(Ta5d6ff"Ta5d6ff+<helpers/rp2040/*>Ta5d6ff"Tb4b4b4)
T8b949e# DISPLAY HANDLING
Tff7b72elif Tffa657isinstanceTb4b4b4(Te6edf3itemTb4b4b4, Tffa657tupleTb4b4b4) Tff7b72and Te6edf3itemTb4b4b4[T79c0ff0Tb4b4b4] Tff7b72== Ta5d6ff"Ta5d6ffDISPLAY_CLASSTa5d6ff"Tb4b4b4:
Te6edf3display_class Tff7b72= Te6edf3itemTb4b4b4[T79c0ff1Tb4b4b4]
Te6edf3src_filterTff7b72.Td2a8ffappendTb4b4b4(Ta5d6fffTa5d6ff"Ta5d6ff+<helpers/ui/Tffd700{Te6edf3display_classTffd700}Ta5d6ff.cpp>Ta5d6ff"Tb4b4b4)
Tff7b72if Tb4b4b4(Te6edf3display_class Tff7b72== Ta5d6ff"Ta5d6ffST7789DisplayTa5d6ff"Tb4b4b4) Tb4b4b4:
Te6edf3src_filterTff7b72.Td2a8ffappendTb4b4b4(Ta5d6fffTa5d6ff"Ta5d6ff+<helpers/ui/OLEDDisplay.cpp>Ta5d6ff"Tb4b4b4)
Te6edf3src_filterTff7b72.Td2a8ffappendTb4b4b4(Ta5d6fffTa5d6ff"Ta5d6ff+<helpers/ui/OLEDDisplayFonts.cpp>Ta5d6ff"Tb4b4b4)

T8b949e# VARIANTS HANDLING
Tff7b72elif Tffa657isinstanceTb4b4b4(Te6edf3itemTb4b4b4, Tffa657tupleTb4b4b4) Tff7b72and Te6edf3itemTb4b4b4[T79c0ff0Tb4b4b4] Tff7b72== Ta5d6ff"Ta5d6ffMC_VARIANTTa5d6ff"Tb4b4b4:
Te6edf3variant_name Tff7b72= Te6edf3itemTb4b4b4[T79c0ff1Tb4b4b4]
Te6edf3src_filterTff7b72.Td2a8ffappendTb4b4b4(Ta5d6fffTa5d6ff"Ta5d6ff+<../variants/Tffd700{Te6edf3variant_nameTffd700}Ta5d6ff>Ta5d6ff"Tb4b4b4)
T8b949e# INCLUDE EXAMPLE CODE IN BUILD (to provide your own support files without touching the tree)
Tff7b72elif Tffa657isinstanceTb4b4b4(Te6edf3itemTb4b4b4, Tffa657tupleTb4b4b4) Tff7b72and Te6edf3itemTb4b4b4[T79c0ff0Tb4b4b4] Tff7b72== Ta5d6ff"Ta5d6ffBUILD_EXAMPLETa5d6ff"Tb4b4b4:
Te6edf3example_name Tff7b72= Te6edf3itemTb4b4b4[T79c0ff1Tb4b4b4]
Te6edf3src_filterTff7b72.Td2a8ffappendTb4b4b4(Ta5d6fffTa5d6ff"Ta5d6ff+<../examples/Tffd700{Te6edf3example_nameTffd700}Ta5d6ff/*.cpp>Ta5d6ff"Tb4b4b4)

T8b949e# EXCLUDE A SOURCE FILE FROM AN EXAMPLE (must be placed after example name or boom)
Tff7b72elif Tffa657isinstanceTb4b4b4(Te6edf3itemTb4b4b4, Tffa657tupleTb4b4b4) Tff7b72and Te6edf3itemTb4b4b4[T79c0ff0Tb4b4b4] Tff7b72== Ta5d6ff"Ta5d6ffEXCLUDE_FROM_EXAMPLETa5d6ff"Tb4b4b4:
Te6edf3exclude_name Tff7b72= Te6edf3itemTb4b4b4[T79c0ff1Tb4b4b4]
Tff7b72if Te6edf3example_name Tff7b72is Tff7b72NoneTb4b4b4:
Tffa657printTb4b4b4(Ta5d6ff"Ta5d6ff***** PLEASE DEFINE EXAMPLE FIRST *****Ta5d6ff"Tb4b4b4)
Tff7b72break
Te6edf3src_filterTff7b72.Td2a8ffappendTb4b4b4(Ta5d6fffTa5d6ff"Ta5d6ff-<../examples/Tffd700{Te6edf3example_nameTffd700}Ta5d6ff/Tffd700{Te6edf3exclude_nameTffd700}Ta5d6ff>Ta5d6ff"Tb4b4b4)

T8b949e# DEAL WITH UI VARIANT FOR AN EXAMPLE
Tff7b72elif Tffa657isinstanceTb4b4b4(Te6edf3itemTb4b4b4, Tffa657tupleTb4b4b4) Tff7b72and Te6edf3itemTb4b4b4[T79c0ff0Tb4b4b4] Tff7b72== Ta5d6ff"Ta5d6ffMC_UI_FLAVORTa5d6ff"Tb4b4b4:
Te6edf3ui_flavor Tff7b72= Te6edf3itemTb4b4b4[T79c0ff1Tb4b4b4]
Tff7b72if Te6edf3example_name Tff7b72is Tff7b72NoneTb4b4b4:
Tffa657printTb4b4b4(Ta5d6ff"Ta5d6ff***** PLEASE DEFINE EXAMPLE FIRST *****Ta5d6ff"Tb4b4b4)
Tff7b72break
Te6edf3src_filterTff7b72.Td2a8ffappendTb4b4b4(Ta5d6fffTa5d6ff"Ta5d6ff+<../examples/Tffd700{Te6edf3example_nameTffd700}Ta5d6ff/Tffd700{Te6edf3ui_flavorTffd700}Ta5d6ff/*.cpp>Ta5d6ff"Tb4b4b4)
Te6edf3menvTff7b72.Td2a8ffReplaceTb4b4b4(Te6edf3SRC_FILTERTff7b72=Te6edf3src_filterTb4b4b4)

T8b949e#print (menv.Dump())

Served by rngit 1.5.2 - Generated in 0.05s